home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / tls / tls088.hpux.Z / tls088.hpux / lib / vtcl / tests / scale.tcl < prev    next >
Encoding:
Text File  |  1995-07-20  |  3.1 KB  |  171 lines

  1. # CVS $Id: scale.tcl,v 1.3 1995/02/03 16:55:14 zibi Exp $
  2.  
  3.  
  4.  
  5. #
  6. # Interactive test program for scale widget.
  7. #
  8. #
  9.  
  10. global scale1 scale2
  11.  
  12. proc quitCB {cbs} {
  13.     VtClose
  14.     exit 0
  15. }
  16.  
  17.  
  18. proc setFields {form} {
  19.     global scale1 scale2 
  20.  
  21.     set value [VtGetValues $scale1 -value]
  22.     set min [VtGetValues $scale1 -min]
  23.     set max [VtGetValues $scale1 -max]
  24.  
  25.     VtSetValues $form.min_txt -value $min
  26.     VtSetValues $form.max_txt -value $max
  27.     VtSetValues $form.value_txt -value $value
  28. }
  29.  
  30.  
  31. proc valueCB {option cbs} {
  32.  
  33.     global scale1 scale2
  34.  
  35.     set widget_value [keylget cbs value]
  36.     VtSetValues $scale1 $option $widget_value
  37.     VtSetValues $scale2 $option $widget_value
  38. }
  39.  
  40. proc scaleCB {option form cbs} {
  41.     valueCB $option $cbs
  42.     setFields $form
  43. }
  44.  
  45.  
  46. proc showValueCB {option cbs} {
  47.  
  48.     global scale1 scale2
  49.  
  50.     #
  51.         #toggle button uses "set" not "value"
  52.     #
  53.     set widget_value [keylget cbs set]
  54.  
  55.     VtSetValues $scale1 $option $widget_value
  56.     VtSetValues $scale2 $option $widget_value
  57. }
  58.  
  59.  
  60. #
  61. # Start Program
  62. #
  63. set app [VtOpen scales]
  64.  
  65. set fn [VtStartForm $app.form -title Scales ]
  66.  
  67. set scale1 \
  68. [VtScale $fn.scale_horz \
  69.         -callback "scaleCB -value $fn" \
  70.         -horizontal \
  71.         -min 10 \
  72.         -max 100 \
  73.         -value 50 \
  74.         -topSide FORM \
  75.         -leftSide FORM]
  76.  
  77. set scale2 \
  78. [VtScale $fn.scale_vert \
  79.         -callback "scaleCB -value $fn" \
  80.         -vertical \
  81.         -min 10 \
  82.         -max 100 \
  83.         -value 50 \
  84.         -leftSide FORM \
  85.         -topOffset 20 \
  86.             -CHARM_topOffset 0 \
  87.         -topSide $fn.scale_horz ]
  88.  
  89. set title_lab \
  90. [VtLabel $fn.title_lab -label "Title:" \
  91.         -topSide FORM \
  92.         -leftSide $scale1 \
  93.         -leftOffset 60  \
  94.         -topOffset  10  \
  95.             -CHARM_topOffset 0 \
  96.         -CHARM_leftOffset 7]
  97.  
  98. set title_txt \
  99. [VtText $fn.title_txt \
  100.            -callback "valueCB -title" \
  101.            -columns 15 \
  102.            -topSide FORM  \
  103.                -leftSide $title_lab \
  104.            -rightSide FORM \
  105.            -topOffset  10  \
  106.            -CHARM_topOffset 0]
  107.  
  108. set value_lab \
  109. [VtLabel $fn.value_lab -label "Value:" \
  110.         -rightSide $title_txt\
  111.         -leftSide $scale1 \
  112.         -topSide $fn.title_txt  \
  113.         -labelRight]
  114.  
  115. set value_txt \
  116. [VtText $fn.value_txt \
  117.            -callback "valueCB -value" \
  118.            -columns 3 \
  119.            -leftSide $value_lab \
  120.            -topSide $title_txt]
  121.  
  122. set min_lab \
  123. [VtLabel $fn.min_lab -label "Min:" \
  124.         -leftSide $scale1 \
  125.         -rightSide $value_txt \
  126.         -topSide $value_txt \
  127.         -labelRight]
  128.  
  129. set min_txt \
  130. [VtText $fn.min_txt \
  131.            -callback "valueCB -min" \
  132.            -columns 3 \
  133.                -leftSide $min_lab \
  134.            -topSide $value_txt]
  135.  
  136. set max_lab \
  137. [VtLabel $fn.max_lab -label "Max:" \
  138.         -leftSide $scale1 \
  139.         -rightSide $fn.min_txt \
  140.         -topSide $fn.min_txt \
  141.         -labelRight]
  142.  
  143. set max_txt \
  144. [VtText $fn.max_txt \
  145.            -callback "valueCB -max" \
  146.            -columns 3 \
  147.                -leftSide $max_lab \
  148.            -topSide $min_txt]
  149.  
  150.  
  151. set showValue \
  152. [VtToggleButton $fn.showValue -label "showValue" \
  153.         -value 1 \
  154.             -callback "showValueCB -showValue" \
  155.             -topSide $max_txt \
  156.         -leftSide $max_lab \
  157.             -CHARM_topOffset 1]
  158.  
  159. set quit \
  160. [VtPushButton $fn.quit -callback quitCB  \
  161.     -topSide $fn.showValue \
  162.     -leftSide $fn.max_lab \
  163.     -topOffset 10\
  164.     -CHARM_topOffset 1]
  165.  
  166. setFields $fn
  167.  
  168. VtShow $fn
  169. VtMainLoop
  170.  
  171.